package game.model;

import excepciones.TrampaAlcanzadaException;

import java.util.HashSet;
import java.util.Set;

/**
 * Clase que representa una trampa.
 * 
 */

public class Trampa extends Componente {

	/**
	 * Constructor de la clase Trampa.
	 * 
	 */
	
	public Trampa() {
		setImagen(7);
	}
	
	@Override
	public Set<Rayo> getSalida(Rayo entrada) throws TrampaAlcanzadaException {
		return new HashSet<Rayo>();
	}
	
	@Override
	public Set<Rayo> getSalida(Rayo entrada,Set<Rayo> anterior){
		anterior.clear();
		entrada.setImagen(9);
		anterior.add(entrada);
		return getSalida(entrada);
	}
	
	@Override
	public String salvarEstado(String ubicacion) {
		return ubicacion + "7" + "," + "0" + "," + "0" + "," + "0" + "," + "0";
	}
	
	/**
	 * Retorna un boolean segun se este tocando la trampa con un rayo.
	 * 
	 * @param incidentes rayos que inciden sobre la trampa.
	 * @return boolean true si se debe terminar el nivel, false si es
	 * correcto.
	 * 
	 */
	
	public boolean finJuego(Set<Rayo> incidentes) {
		return !incidentes.isEmpty();
	}	
}
